Abstraction and Acceleration in SMT-based Model-Checking for Array Programs
نویسندگان
چکیده
ion and Acceleration in SMT-based Model-Checking for Array Programs Francesco Alberti1, Silvio Ghilardi2, Natasha Sharygina1 1 Faculty of Informatics, University of Lugano, Switzerland 2 Università degli Studi di Milano, Milan, Italy Abstract Abstraction (in its various forms) is a powerful established technique in modelchecking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an approach which is widely used to avoid divergence, but it has been applied mostly to integer programs. This paper addresses the problem of accelerating transition relations for unbounded arrays with the ultimate goal of avoiding divergence during reachability analysis of abstract programs. For this, we first design a format to compute accelerations in this domain; then we show how to adapt the so-called ‘monotonic abstraction’ technique to efficiently handle complex formulæ with nested quantifiers generated by the acceleration preprocessing. Notably, our technique can be easily plugged-in into abstraction/refinement loops, and strongly contributes to avoid divergence: experiments conducted with the MCMT model checker attest the effectiveness of our approach on programs with unbounded arrays, where acceleration and abstraction/refinement technologies fail if applied alone. Report Info Published October 2012 Revised April 2013 Number USI-INF-TR-2012-1 Institution Faculty of Informatics University of Lugano Lugano, Switzerland Online Access www.inf.usi.ch/techreportsAbstraction (in its various forms) is a powerful established technique in modelchecking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an approach which is widely used to avoid divergence, but it has been applied mostly to integer programs. This paper addresses the problem of accelerating transition relations for unbounded arrays with the ultimate goal of avoiding divergence during reachability analysis of abstract programs. For this, we first design a format to compute accelerations in this domain; then we show how to adapt the so-called ‘monotonic abstraction’ technique to efficiently handle complex formulæ with nested quantifiers generated by the acceleration preprocessing. Notably, our technique can be easily plugged-in into abstraction/refinement loops, and strongly contributes to avoid divergence: experiments conducted with the MCMT model checker attest the effectiveness of our approach on programs with unbounded arrays, where acceleration and abstraction/refinement technologies fail if applied alone. Report Info Published October 2012 Revised April 2013 Number USI-INF-TR-2012-1 Institution Faculty of Informatics University of Lugano Lugano, Switzerland Online Access www.inf.usi.ch/techreports
منابع مشابه
Definability of Accelerated Relations in a Theory of Arrays and Its Applications
ion and Acceleration in SMT-based Model-Checking for Array Programs Francesco Alberti1, Silvio Ghilardi2, Natasha Sharygina1 1 Faculty of Informatics, University of Lugano, Switzerland 2 Università degli Studi di Milano, Milan, Italy Abstract Abstraction (in its various forms) is a powerful established technique in modelchecking; still, when unbounded data-structures are concerned, it cannot al...
متن کاملLight-Weight SMT-based Model Checking
Recently, the notion of an array-based system has been introduced as an abstraction of infinite state sys-tems (such as mutual exclusion protocols or sorting programs) which allows for model checking of invariant(safety) and recurrence (liveness) properties by Satisfiability Modulo Theories (SMT) techniques. Unfortu-nately, the use of quantified first-order formulae to describe sets...
متن کاملCounter Abstractions in Model Checking of Distributed Broadcast Algorithms: Some Case Studies
The automated, formal verification of distributed algorithms is a crucial, although challenging, task. In this paper, we study the properties of distributed algorithms solving the reliable broadcast problem in various failure models. We investigate the suitability of a direct Satisfiability Modulo Theories (SMT) approach to model these algorithms in order to validate safety properties. In a pre...
متن کاملTowards SMT Model Checking of Array-Based Systems
We introduce the notion of array-based system as a suitable abstraction of infinite state systems such as broadcast protocols or sorting programs. By using a class of quantified-first order formulae to symbolically represent array-based systems, we propose methods to check safety (invariance) and liveness (recurrence) properties on top of Satisfiability Modulo Theories solvers. We find hypothes...
متن کاملSMT-based Software Model Checking: An Experimental Comparison of Four Algorithms
After many years of successful development of new algorithms for software model checking, there is a need to consolidate the knowledge about the different algorithms and approaches. This paper gives a coarse overview in terms of effectiveness and efficiency of four algorithms. We compare the following different “schools of thought” of algorithms: bounded model checking, k-induction, predicate a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1304.4499 شماره
صفحات -
تاریخ انتشار 2013